package com.shujia.day02;

/*
    逻辑运算符：
        & | ^ ! && ||

    逻辑运算符，参与运算的参数类型是boolean，结果也是一个boolean类型的
 */
public class LuoJiDemo1 {
    public static void main(String[] args) {
        int a = 3;
        int b = 4;
        // & 有false则false
//        System.out.println((a++>3)&(b++>4)); // false & false = false
//        System.out.println("a: " + a + ", b: " + b);
//        System.out.println((a++>3)&(b++==4)); // false & true = false
//        System.out.println((a++==3)&(b++>4)); // true & false = false
//        System.out.println((a++==3)&(b++==4));// true & true = true

        // && 短路与 当左边为false的时候，右边表达式不会执行，结果为false
//        System.out.println((a++ > 3) && (b++ > 4)); // false && false = false
//        System.out.println("a: " + a + ", b: " + b);
//        System.out.println((a++ > 3) && (b++ == 4)); // false && true = false
//        System.out.println((a++ == 3) && (b++ > 4)); // true && false = false
//        System.out.println((a++ == 3) && (b++ == 4));// true && true = true


        // | 有true则true
//        System.out.println((a++ > 3) | (b++ > 4)); // false | false = false
//        System.out.println((a++ > 3) | (b++ == 4)); // false |  true = true
//        System.out.println((a++ == 3) | (b++ > 4)); // true | false = true
//        System.out.println((a++ == 3) | (b++ == 4));// true | true = true
//        System.out.println("a: " + a + ", b: " + b);

        // || 短路或 当左边为true的时候，右边表达式不会执行，结果为true
//        System.out.println((a++ > 3) || (b++ > 4)); // false || false = false
//        System.out.println((a++ > 3) || (b++ == 4)); // false ||  true = true
//        System.out.println((a++ == 3) || (b++ > 4)); // true || false = true
//        System.out.println((a++ == 3) || (b++ == 4));// true || true = true
//        System.out.println("a: " + a + ", b: " + b);

        // System.out.println(100>a>10) // java中不允许出现连续比较
        System.out.println(a>10 && a<100);


        // ^ 异或 相同则false,不同则true
//        System.out.println((a++ > 3) ^ (b++ > 4)); // false ^ false = false
//        System.out.println((a++ > 3) ^ (b++ == 4)); // false ^  true = true
//        System.out.println((a++ == 3) ^ (b++ > 4)); // true ^ false = true
//        System.out.println((a++ == 3) ^ (b++ == 4));// true ^ true = false

        //! 将true变成false, false变成true
//        System.out.println(!(a++ > 3));


    }
}
